﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Inventario_HardSoft.ADO;
using System.Windows.Forms;

namespace Inventario_HardSoft.Controlador
{
    class Ctrl_Estado_Equipos
    {  
        ConexionDataContext conexion;
        public Ctrl_Estado_Equipos()
        {
            conexion =new ConexionDataContext();
        }

        internal void getListEquipoxAsignado(DataGridView dg, int v)
        {       
            int i = 1;
           var consulta = from e in conexion.EQUIPO
                          where e.ASIGNADO == v && e.ELIMINADO == 0
                          select new
                          {
                              e.IDEQUIPO,
                              e.TIPOEQUIPO,
                              e.MARCA,
                              e.MODELO,
                              e.SERIE,
                              e.FECHAREGISTRO,
                              e.FECHAMODIFICACION 
                          };
           dg.Rows.Clear();
           foreach (var c in consulta)
           {
               object[] obj = new object[] {                                          
                                            c.IDEQUIPO,
                                            i, 
                                            String.Empty,
                                            c.TIPOEQUIPO,
                                            c.MARCA,
                                            c.MODELO,
                                            c.SERIE,
                                            c.FECHAREGISTRO.GetValueOrDefault(DateTime.MinValue),
                                            c.FECHAMODIFICACION.GetValueOrDefault(DateTime.MinValue)
                                           }; 
               obj[7] = ((DateTime)obj[7]).Equals(DateTime.MinValue) ? String.Empty : ((DateTime)obj[7]).ToShortDateString(); //fecha de reg. entrada
               obj[8] = ((DateTime)obj[8]).Equals(DateTime.MaxValue) ? String.Empty : ((DateTime)obj[8]).ToShortDateString();//fecha de reg. salida
               dg.Rows.Add(obj);
               i++;
           }
        }

 // cambia los numeros por las palabras baja, media, alta
       internal String prioridad(string p)
        {
            String r=String.Empty;
            switch (p)
            {
                case "1": r = "Baja"; break;                 
                case "2": r = "Media"; break;
                case "3": r = "Alta"; break;
            }
            return r;
        }

    internal void getListEquipoxAsignadoAsig(DataGridView dg, int v)
    {
        int i = 1;
        var consulta = from e in conexion.EQUIPO
                        join u in conexion.USUARIO on e.IDUSUARIO equals u.IDUSUARIO
                        where e.ASIGNADO == v && e.ELIMINADO == 0
                        select new
                        {
                            e.IDEQUIPO,
                            u.NOMBRE,
                            e.TIPOEQUIPO,
                            e.MARCA,
                            e.MODELO,
                            e.SERIE,
                            e.FECHAREGISTRO,
                            e.FECHAMODIFICACION 
                        };
        dg.Rows.Clear();
        foreach (var c in consulta)
        {
            object[] obj = new object[] {                                          
                                        c.IDEQUIPO,
                                        i, 
                                        c.NOMBRE,
                                        c.TIPOEQUIPO,
                                        c.MARCA,
                                        c.MODELO,
                                        c.SERIE,
                                        c.FECHAREGISTRO.GetValueOrDefault(DateTime.MinValue),
                                        c.FECHAMODIFICACION.GetValueOrDefault(DateTime.MinValue)
                                        };
            obj[7] = ((DateTime)obj[7]).Equals(DateTime.MinValue) ? String.Empty : ((DateTime)obj[7]).ToShortDateString(); //fecha de reg. entrada
            obj[8] = ((DateTime)obj[8]).Equals(DateTime.MaxValue) ? String.Empty : ((DateTime)obj[8]).ToShortDateString();//fecha de reg. salida
            dg.Rows.Add(obj);
            i++;
        } 
       }

    internal void getListEquipoxAsignadoAsignados(DataGridView dg)
    {
        int i = 1;
        var consulta = from e in conexion.EQUIPO
                       where e.ASIGNADO == 0 && e.ELIMINADO == 0
                       select new
                       {
                           e.IDEQUIPO,                         
                           e.TIPOEQUIPO,
                           e.MARCA,
                           e.MODELO,
                           e.SERIE,
                           e.NOMBEQUIPO,
                           e.FECHAREGISTRO,
                           e.FECHAMODIFICACION
                       };
        dg.Rows.Clear();
        foreach (var c in consulta)
        {
            object[] obj = new object[] {                                          
                                        c.IDEQUIPO,
                                        i,                                        
                                        c.TIPOEQUIPO,
                                        c.MARCA,
                                        c.MODELO,
                                        c.SERIE,
                                        c.NOMBEQUIPO,
                                        c.FECHAREGISTRO.GetValueOrDefault(DateTime.MinValue),
                                        c.FECHAMODIFICACION.GetValueOrDefault(DateTime.MinValue)
                                        };
            obj[7] = ((DateTime)obj[7]).Equals(DateTime.MinValue) ? String.Empty : ((DateTime)obj[7]).ToShortDateString(); //fecha de reg. entrada
            obj[8] = ((DateTime)obj[8]).Equals(DateTime.MinValue) ? String.Empty : ((DateTime)obj[8]).ToShortDateString();//fecha de reg. salida
            dg.Rows.Add(obj);
            i++;
        } 
    }
    }
}
